java - Selenium 测试运行不会保存 cookie?
全部标签 我正在尝试让编译命令(rakecucumber)在我的MacOSX系统上使用特定的ruby版本运行,我目前在终端中使用rvm来执行此操作。我的~/.MacOSX/environment.plist中有正确的路径,但emacs坚持要在这条路径之前添加,因此使其无用。我也试过:(when(equalsystem-type'darwin)(setenv"PATH"(concat"/Users/fearoffish/.rvm/bin:/Users/fearoffish/.rvm/rubies/ruby-1.8.7-p249/bin:/Users/fearoffish/.rvm/gems/r
我正在使用RubyonRails3,我想在Rack中间件中使用cookies.signed方法。我需要它,因为我想直接在中间件中对用户进行身份验证,而不是在application_controller.rb文件中使用before_filter。例如,如果我以这种方式在Controller中使用该方法:cookies.signed[:user_id']我明白了----1#Thisistheidofthecurrentsignedinuser-a64ee3asdtjhcc7b35fcb280956be00ba27f94d48dfe4291c06db7d57577d5893#Thisisth
背景:我有一个带有cover_file属性的Book模型,该模型通过我的一个RailsController使用上传的文件进行设置。我正在使用Railsv4.0.4。目标:我想测试只保存具有特定内容类型的文件。我计划使用设置了不同content_type属性的ActionDispatch::Http:UploadedFile对象创建Rspec测试示例。问题:当我用content_type初始化一个新的ActionDispatch::Http::UploadedFile时,它似乎没有被设置(请参阅下面的测试和输出,确认它为零)。看来我只能在UploadedFile初始化后用setter设置
当一个元素在selenium的View之外并且试图与之交互时,selenium通常会首先隐式地将元素滚动到View中。这很棒,只是烦人的是它通常将元素放入View中。我的意思是,如果元素位于窗口下方,它会向下滚动足够多直到元素刚好与窗口边缘接壤。通常这很好,但是当在周围有边框的网站上工作时,这将导致许多此类错误Selenium::WebDriver::Error::UnknownError:unknownerror:Elementisnotclickableatpoint(438,747).Otherelementwouldreceivetheclick:...因为通常网页的边框都在它
Controller中的内容如下:respond_todo|format|format.csv{send_dataas_csv,type:'text/csv'}end在规范中:click_link'DownloadCSV'page.driver.browser.switch_to.alert.acceptexpect(page).tohave_contentcsv_data但这行不通:Failure/Error:page.driver.browser.switch_to.alert.acceptSelenium::WebDriver::Error::NoAlertPresentErro
我对RubyonRails中的各种测试设备的用途感到困惑。我已经使用该框架大约6个月了,但我从未理解它的测试部分。我使用过的唯一测试是Java中的JUnit3,而且只是简短的。我读过的关于它的一切都只是显示了测试验证。rails中的验证不应该起作用吗?看起来更像是测试框架而不是测试您的代码。为什么需要测试验证?此外,测试对于代码中的任何更改似乎都非常脆弱。因此,如果您更改模型中的任何内容,则必须更改测试和装置以匹配。这不是违反了DRY原则吗?第三,编写测试代码似乎需要很多时间。这是正常的吗?刷新我的浏览器并查看它是否有效不是更快吗?我已经不得不使用我的应用程序来查看它是否正确流动并确保
在Controller方法中,当向用户发送激活电子邮件时,我将用户变量activation_sent_at设置为等于Time.zone.now。在开发服务器上,这似乎可行(尽管我的应用程序中的时间表达式比我计算机的本地时间晚2小时)。我想包括一个集成测试,测试activation_sent_at是否确实设置正确。所以我包括了这一行:assert_equal@user.activation_sent_at,Time.zone.now但是,这会产生错误:NovisibledifferenceintheActiveSupport::TimeWithZone#inspectoutput.You
我无法让地理编码器正常工作,因为我的本地IP地址是127.0.0.1,所以它无法正确定位我所在的位置。request.location.ip显示“127.0.0.1”我怎样才能使用不同的ip地址(我的互联网连接ip)以便它会带来更多相关数据? 最佳答案 一种干净利落的方法是使用MiddleWare。将此类添加到您的lib目录:#lib/spoof_ip.rbclassSpoofIpdefinitialize(app,ip)@app=app@ip=ipenddefcall(env)env['HTTP_X_FORWARDED_FOR']
在处理相当大的Rails项目时,Zeus是一个很棒的工具,可以缩短Rails应用程序的加载时间并运行测试套件。但是过了一段时间后,我开始在启动zeus的所有项目中都遇到了这个问题:我做了一些研究并尝试了一些资源来解决这个错误,但都没有用。如果有人能指出解决此问题的正确方向,我将不胜感激。我在MacOSX10.8.2上谢谢 最佳答案 这两条评论实际上为我指明了正确的方向:如果ls-a显示.zeus.sock文件而不是做一个简单的删除解决问题是这样的:rm.zeus.sock 关于ruby-
我有一个带有一些基本模型的Rails应用程序。该网站显示从其他来源检索的数据。所以我需要编写一个Ruby脚本来在我的数据库中创建新实例。我知道我可以使用测试Hook来做到这一点,但我不确定这在这里是否有意义。我不确定这个任务应该是什么样子,我如何调用它,或者它应该在我的源代码树中的什么位置(lib\tasks?)。例如,这是我的第一次尝试:require'active_record'require'../app/models/mymodel.rb'test=MyModel.newtest.name='test'test.save这失败了,因为它无法连接到数据库。这对我的新手来说意义不大